#!/bin/bash
echo '+--------------------------+'
echo '|    文件基本操作和用户权限   |'
echo '+--------------------------+'

##文件基本属性
#group(属组) user(属主)

# chgrp 更改文件属组
	# -R 以递归的方式改变某个文件的属组
		# chgrp -R 属主名 文件名 

# chown 更改文件属主,也可以改变改变文件的属组
	# -R  以递归的方式改变某个文件的属组
		 	# chown -R 属主名 文件名
		 	# chown -R 属主名:属组名 文件名

# chmod 更改文件的权限
# r:4     w:2     x:1 
	# -R  以递归的方式改变某个文件的属组
		# chmod -R 777 文件或目录
	# [ugoa] [+-=] [rwx]
	# u user   g group   o others   a all 
	# +  加上   - 减去    = 直接设定
	# r 读权限   w  写权限    x 执行权限
		#  chmod a-x 文件/目录	给文件或目录 所有(a) 减(-) 执行(x)权限
		#   chmod -R u+w 目录    将目录下的文件文件或目录的 user属主(u) 添加(+) 写(w)权限
		#   
		#   



## 文件于目录命令
# ls 列出目录
	# -a 全部的文件 
	# -d 仅列出目录本身
	# -l 长数据串列出

# cd 切换目录

# pwd 显示目前所在的目录

# mkdir 创建新目录
	# -m 直接配置文件权限
	# -p 递归创建目录
		# mkdir -m 777 test
		# mkdir -p test/test1

# rmdir 删除空的目录
	# -p 连同上一级 空的 目录也一起删除
		# rmdir -p shell/test    shell目录下只有一个test目录,所以连同shell也一同删除了

# cp 复制文件或目录 
	# -a 相当于 -pdr 的意思 ,请参照下面的pdr参数说明
	# -d 若来源为连结档的属性(link) 则复制连结档属性而非文件本身
	# -f 为强制的意思若目标文件已存在则已出后再尝试一次
	# -i 若目标档已经存在,则在覆盖时会询问动作的进行
	# -l 进行硬式连结的连结档创建, 而非复制文件本身
	# -p 连同文件的属性一起复制过去, 而非使用默认属性
	# -r 递归持续复制 用于目录的复制行为
	# -s 复制成为富豪连结档, 亦即 捷径 文件
	# -u 若 destination 比 source 旧才升级 destination ！
		# cp [-adfilprsu] 来源档(source) 目标档(destination)
		# cp -i test/fun.sh shell/fun.sh

# rm 移除文件或目录
	# -f 强制删除
	# -i 删除前的动作询问
	# -r 递归删除
		# rm -rf test/


# cat 由第一行显示内容
	# -A 相当于-vET的整合选项,可列出一些特殊字符而不是空白而已
	# -b 列出行号,仅针对非空白做出喊好显示,空白不标示行号
	# -E 将结尾的断行字节$ 显示出来
	# -n 列印出行号,连同空白行也会有行号,与-b的选项不同
	# -T 将[tab]按键以^|显示出来
	# -v 列出一些看不出来的特殊字符


# tac 由最后一行显示内容 与cat正好相反


# nl 显示时顺便输出行号
	# -b 指定行号指定的方式,主要有两种:
		# -b a表示不论是否为空行,也同样列出行号(类似cat -n)
		# -b t如果有空行,空的那一行不要列出行号(默认值);
	# -n 列出行号表示的方法,主要有三种:
		# -n ln 行号在荧幕的最左方显示
		# -n rn 行号在自己栏位的最右方显示 ,且不加0
		# -n rz 行号在自己栏目的最右方显示, 且加0
	# -w 行号栏位的占用的位数.
			# nl -n ln learn.sh

# more 一页一页的显示文件内容 空格翻下一页
	# 空白键: 代表向下翻一页
	# Enter: 代表向下翻一行
	# /字串: 代表在这个显示的内容当中,向下搜寻字串这个关键字
	# :f   : 显示档名 以及目前显示行数
	# q    : 代表离开more 不再显示该文件内容
	# b    : 代表 往回翻页,不过这动作只对文件游泳,对管线无用  


# less 与more类似但比more更好 ,可以上下翻页 
	# 空白键 : 向下翻动一页;
	# pagedown : 向下翻动一页
 	# pageup : 向上翻动一页
	# /字串     : 向下搜索自串
	# ?字串    : 向上搜索字串
	# n       :重复前一个搜索
	# N       :反向的重复前一个搜索
	# q       :离开less这个程序 


# head 只看头几行
	# -n :后面接数字,代表显示几行的意思 默认显示10行


# tail 只看尾巴几行
	# -n 后面接数字,代表显示几行的意思
	# -f 扁丝持续侦测后面所接的档名,要等到按下ctrl-c 才会结束tail侦测



# useradd 选项 用户名。     添加新的用户账号
 	# -c :注释性描述 
 	# -d :指定用户主目录
 	# -g :用户组
 	# -G :附加用户组
 	# -s :shell文件 指定用户的登录shell
 	# -u :用户名














